

This project is part of the
@thi.ng/umbrella monorepo.
About
2D/3D shape intersection checks.
Type | Circle | Line | Poly | Ray | Rect | Tri |
---|
Circle | ✓ | | | | | |
Line | | ✓ | | | | |
Point | ✓ | ✓ | ✓ | | ✓ | ✓ |
Ray | ✓ | ✓ | ✓ | | ✓ | |
Rect | ✓ | | | | ✓ | |
3D tests
Type | AABB | Plane | Point | Ray | Sphere |
---|
AABB | ✓ | | | | ✓ |
Plane | | ✓ | | | |
Point | ✓ | | | | ✓ |
Ray | ✓ | ✓ | | | ✓ |
Sphere | | | | | ✓ |
Current implementations partially based on
toxiclibs (Java) and Clojure version of
thi.ng/geom.
Status
STABLE - used in production
Installation
yarn add @thi.ng/geom-isec
// ES module
<script type="module" src="https://unpkg.com/@thi.ng/geom-isec?module" crossorigin></script>
// UMD
<script src="https://unpkg.com/@thi.ng/geom-isec/lib/index.umd.js" crossorigin></script>
Package sizes (gzipped, pre-treeshake): ESM: 2.37 KB / CJS: 2.53 KB / UMD: 2.50 KB
Dependencies
API
Generated API docs
import * as isec from "@thi.ng/geom-isec";
const res = isec.intersectLineLine([0, 0], [100, 50], [50, 100], [50, -100]);
res.type === isec.IntersectionType.INTERSECT
Authors
Karsten Schmidt
License
© 2016 - 2020 Karsten Schmidt // Apache Software License 2.0